Quantifying pandemic spread and public health interventions during three global pandemics in Switzerland 1889, 1918 and 2020

Research question

  • Are patterns of pandemic spread, its determinants, and effects of public health interventions are similar across pandemics in Switzerland?
  • Estimate excess mortality for pandemics in 1890, 1918 and 2020 per district, age groups and sex
  • Comparing of spatial pattern between the pandemics
  • Investigate the determinants of spread in the context of different co-factors ( Urbanization, GIP per capita etc.)

Data

Historical data

  • Collected and digitalized from Kaspar Staub’s team
  • Pandemic 1890 (Russian flu): Data from 1879 - 1895
  • Pandemic 1918 (Spanish flu): Data from 1908 - 1925
  • Mortality data for each year, district, age group and sex
  • Population data for census of 1880, 1888, 1900, 1910, 1920 for all districts
  • Population data for sex and age group only for year census 1888 and 1910
  • Years between were interpolated

Covid 19

  • Death and population data from 2014 - 2020 for each district, sex and age group

Methods

  • Bayesian approach

  • INLA (Bayesian inference for Latent Gaussian Models)

  • Death data for \(130\) districts of Switzerland for all three pandemics (1890, 1918, 2020)

  • Data \(Y\) is given as the total number of death in fixed areas and in each year

  • Standard Poisson likelihood to model the counts \[ y_i \mid \eta_i\sim Po\left(E_i \exp(\eta_i)\right),\] where \(E_i\) is the ``population at risk’’ in region \(i\).

  • classical disease mapping model; BYM model (Besag, York and Mollie proposed it)

  • The log relative risk, \(\bf{\eta} = (\eta_1, \dots, \eta_n)^T\), is thus decomposed into \[\bf{\eta} = \mu + \bf{u} + \bf{v} \]

    • \(\mu\) is the overall intercept
    • \(\bf{u}\) is a random effect with spatial structure following the Besag model
    • \(\bf{v}\) represents a non-spatial overdispersion
  • \({\bf u}\) is “besag” modelled spatially structured with smoothing parameter \(\kappa_u\).

  • \({\bf v}\) is unstructured with precision parameter \(\kappa_v\), i.e. \(\bf{v} \sim \mathcal{N}(0, \kappa_v^{-1}I)\).

  • The precision terms \(\kappa_v\) and \(\kappa_u\) are assigned the default gamma prior distributions of INLA \[ \begin{aligned} \kappa_u & \sim \textrm{Gamma}( \alpha_u, \beta_u ), \\ \kappa_v & \sim \textrm{Gamma}( \alpha_v, \beta_v ). \end{aligned} \]

  • The default values are \(\alpha_u = \alpha_v = 1\) and \(\beta_u = \beta_v = 0.00005\).

  • Year is modelled using independent and identically (iid) Gaussian prior distribution with \({N}(0, \tau_v^{-1})\)

  • Calculation of expected values based on the mortality trend of the previous 4 years (1890 only 4 years possible)

 formula =
    death ~ 1 + offset(log(population)) +
    f(Region, model="bmy", graph="Bezirk_Inla", scale.model = TRUE)+
    f(Year, model='iid', constr = TRUE)

inla.mod = inla(formula,
                  data=reg_data,
                  family="Poisson",
                  verbose = TRUE,
                  control.compute=list(config = TRUE),
                  control.mode=list(restart=T),
                  num.threads = round(parallel::detectCores()*.8),
                  control.predictor=list(compute=T))



  • 1000 samples from the posterior distribution
  • Calculation of median and 95% CrI(Credible interval) of the 1000 samples
  • Excess mortality = observed death counts – expected death counts

Results

Maps

Year

Sex

Because excess death is different in each pandemic year, and to better compare sex per pandemic year, the divisions of relative excess death per year are different. In 1890 no significant differences between sex, 1918 and 2020 higher excess mortality in men compared to women.

## [[1]]
## 
## Call:
## lm(formula = excess_percentage ~ sex, data = data_excess[data_excess$Year == 
##     1890, ])
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -54.937  -7.035  -0.735   7.800  67.043 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)  
## (Intercept)   2.8799     1.1939   2.412   0.0166 *
## sexm         -0.8326     1.6884  -0.493   0.6223  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 13.45 on 252 degrees of freedom
## Multiple R-squared:  0.0009641,  Adjusted R-squared:  -0.003 
## F-statistic: 0.2432 on 1 and 252 DF,  p-value: 0.6223

## [[1]]
## 
## Call:
## lm(formula = excess_percentage ~ sex, data = data_excess[data_excess$Year == 
##     1918, ])
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -106.539  -12.289   -3.094    9.296   92.898 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   39.262      2.158  18.192  < 2e-16 ***
## sexm           9.637      3.052   3.157  0.00178 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 24.61 on 258 degrees of freedom
## Multiple R-squared:  0.0372, Adjusted R-squared:  0.03347 
## F-statistic: 9.969 on 1 and 258 DF,  p-value: 0.001781

## [[1]]
## 
## Call:
## lm(formula = excess_percentage ~ sex, data = data_excess[data_excess$Year == 
##     2020, ])
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -37.626  -9.653  -1.992   7.499  50.322 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   11.186      1.250   8.948  < 2e-16 ***
## sexm           5.133      1.768   2.903  0.00402 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 14.2 on 256 degrees of freedom
## Multiple R-squared:  0.03187,    Adjusted R-squared:  0.02809 
## F-statistic: 8.429 on 1 and 256 DF,  p-value: 0.004016

Age

Because excess death is different in each pandemic year, and to better compare age groups per pandemic year, the divisions of relative excess death per year are different. Since the highest excess death in the 1918 pandemic was between 20 - 39 years, we further divided the age groups from 0-69 years into 3 additional groups for the 1918 pandemic. In the other pandemic years, this is not possible due to low death rates in the younger age groups.

In 1890 no significant differences in excess mortality between age age groups. 1918 higher excess mortality for age group 0-69 years compared to > 70 years, in 2020 lower excess mortality for age group 0-69 years compared to < 70 years.

## [[1]]
## 
## Call:
## lm(formula = excess_percentage ~ age_group.y, data = data_excess[data_excess$Year == 
##     1890, ])
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -44.418  -7.326  -0.580   7.081  79.042 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)   
## (Intercept)        3.892      1.344   2.895  0.00412 **
## age_group.y0_69   -1.674      1.901  -0.881  0.37928   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 15.15 on 252 degrees of freedom
## Multiple R-squared:  0.003069,   Adjusted R-squared:  -0.0008871 
## F-statistic: 0.7758 on 1 and 252 DF,  p-value: 0.3793

## [[1]]
## 
## Call:
## lm(formula = excess_percentage ~ age_group.y, data = data_excess[data_excess$Year == 
##     1918, ])
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -51.142 -11.508  -1.007  10.168 100.078 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        5.063      1.854   2.732  0.00673 ** 
## age_group.y0_69   54.798      2.621  20.905  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 21.13 on 258 degrees of freedom
## Multiple R-squared:  0.6288, Adjusted R-squared:  0.6273 
## F-statistic:   437 on 1 and 258 DF,  p-value: < 2.2e-16

## [[1]]
## 
## Call:
## lm(formula = excess_percentage ~ age_group.y, data = data_excess[data_excess$Year == 
##     2020, ])
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -48.422 -10.131  -0.849   8.402  57.224 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       12.616      1.378   9.152  < 2e-16 ***
## age_group.y0_69  -10.223      1.949  -5.244 3.29e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 15.66 on 256 degrees of freedom
## Multiple R-squared:  0.09701,    Adjusted R-squared:  0.09348 
## F-statistic:  27.5 on 1 and 256 DF,  p-value: 3.288e-07

1918 Age groups 0-19, 20-39 and 40-69 show higher excess mortality compared to >70 years. The highest excess mortality shows the age group 0-69.

## 
## Call:
## lm(formula = excess_percentage ~ age_group, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -159.50  -17.16   -1.03   13.32  282.52 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       5.063      3.843   1.317 0.188280    
## age_group0_19    30.890      5.435   5.683 2.22e-08 ***
## age_group20_39  226.383      5.435  41.649  < 2e-16 ***
## age_group40_69   20.035      5.435   3.686 0.000252 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 43.82 on 516 degrees of freedom
## Multiple R-squared:  0.8141, Adjusted R-squared:  0.813 
## F-statistic: 753.2 on 3 and 516 DF,  p-value: < 2.2e-16

Age and Sex

Because excess death is different in each pandemic year, and to better compare age groups per pandemic year, the divisions of relative excess death per year are different. Since the highest excess death in the 1918 pandemic was between 20 - 39 years, we further divided the age groups from 0-69 years into 3 additional groups for the 1918 pandemic. In the other pandemic years, this is not possible due to low death rates in the younger age groups.

1918 - Age 20 - 39

The relative mortality rate is above 14% for both sexes in the 20-39 age group, but even higher for men than for women.

## 
## Call:
## lm(formula = excess_percentage ~ sex, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -220.47 -107.90  -16.87   96.29  300.85 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   99.149      7.782  12.740  < 2e-16 ***
## sexm          48.530     11.006   4.409 1.26e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 125.5 on 518 degrees of freedom
## Multiple R-squared:  0.03618,    Adjusted R-squared:  0.03432 
## F-statistic: 19.44 on 1 and 518 DF,  p-value: 1.261e-05

Hotspots

An alternative spatial statistics to detect spatial anomalies is the Getis and Ord’s G-statistics (Getis and Ord, 1972; Ord and Getis, 1995). It looks at neighbours within a defined proximity to identify where either high or low values clutser spatially. Here, statistically significant hot-spots are recognised as areas of high values where other areas within a neighbourhood range also share high values too.

The Gi statistics is represented as a Z-score. Greater values represent a greater intensity of clustering and the direction (positive or negative) indicates high or low clusters.

Co-factors

GDP per capita

GDP per capita was taken from 1888 for 1890, 1910 for 1918, 2008 for 2020.

GDP per capita is not significantly associated with excess mortality.

1890

## 
## Call:
## lm(formula = excess_percentage ~ GDP, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -44.268  -4.948   0.102   5.753  46.062 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)
## (Intercept)  2.472224   5.095457   0.485    0.628
## GDP         -0.004398   5.455528  -0.001    0.999
## 
## Residual standard error: 11.47 on 131 degrees of freedom
## Multiple R-squared:  4.961e-09,  Adjusted R-squared:  -0.007634 
## F-statistic: 6.499e-07 on 1 and 131 DF,  p-value: 0.9994

1918

## 
## Call:
## lm(formula = excess_percentage ~ GDP, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -50.043 -10.433  -3.506   7.486  78.836 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  45.3420    10.2238   4.435 1.93e-05 ***
## GDP          -0.7398    11.3461  -0.065    0.948    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 21.8 on 131 degrees of freedom
## Multiple R-squared:  3.245e-05,  Adjusted R-squared:  -0.007601 
## F-statistic: 0.004251 on 1 and 131 DF,  p-value: 0.9481

2020

## 
## Call:
## lm(formula = excess_percentage ~ GDP, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -27.650  -7.520  -1.157   6.773  43.445 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  14.3355     3.0290   4.733 5.66e-06 ***
## GDP          -0.2395     3.5478  -0.068    0.946    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 11.44 on 131 degrees of freedom
## Multiple R-squared:  3.479e-05,  Adjusted R-squared:  -0.007599 
## F-statistic: 0.004557 on 1 and 131 DF,  p-value: 0.9463

Swiss SEP per capita

Only for 2020, Swiss SEP from xxx (from which year?)

Swiss SEP is significantly associated with excess mortality. The higher the SEP is the excess mortality.

## 
## Call:
## lm(formula = excess_percentage ~ SEP_Bezirk, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -28.900  -7.337  -0.908   5.670  41.847 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  32.9982     6.8175   4.840 3.67e-06 ***
## SEP_Bezirk   -0.3474     0.1223  -2.842  0.00522 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 10.76 on 128 degrees of freedom
## Multiple R-squared:  0.05935,    Adjusted R-squared:  0.052 
## F-statistic: 8.076 on 1 and 128 DF,  p-value: 0.005221

Number of hospitals

The number of hospitals per 10’000 inhabitants is not significantly associated with excess mortality. But perhaps distance to hospital would be a better explanatory variable than number of hospitals.

1890

## 
## Call:
## lm(formula = excess_percentage ~ hospitals_inc, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -43.860  -5.424   0.138   6.142  46.030 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)
## (Intercept)     2.0604     1.2857   1.603    0.111
## hospitals_inc   0.9362     1.8264   0.513    0.609
## 
## Residual standard error: 11.42 on 132 degrees of freedom
## Multiple R-squared:  0.001986,   Adjusted R-squared:  -0.005574 
## F-statistic: 0.2627 on 1 and 132 DF,  p-value: 0.6091

1918

## 
## Call:
## lm(formula = excess_percentage ~ hospitals_inc, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -47.939 -11.320  -3.275   7.325  81.122 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)     46.024      2.538  18.131   <2e-16 ***
## hospitals_inc   -2.634      2.984  -0.883    0.379    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 21.75 on 132 degrees of freedom
## Multiple R-squared:  0.005868,   Adjusted R-squared:  -0.001664 
## F-statistic: 0.7791 on 1 and 132 DF,  p-value: 0.379

Proportion of children aged 5-14

Proportion of children aged 5-14 years is not significantly associated with excess mortality.

1890

## 
## Call:
## lm(formula = excess_percentage ~ prop, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -43.241  -5.083  -0.320   6.218  45.211 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)   -7.301     13.209  -0.553    0.581
## prop          46.232     61.809   0.748    0.456
## 
## Residual standard error: 11.52 on 129 degrees of freedom
## Multiple R-squared:  0.004318,   Adjusted R-squared:  -0.0034 
## F-statistic: 0.5595 on 1 and 129 DF,  p-value: 0.4558

1918

## 
## Call:
## lm(formula = excess_percentage ~ prop, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -51.352 -12.244  -3.422   7.154  76.799 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    78.68      18.95   4.151 5.89e-05 ***
## prop         -161.69      89.27  -1.811   0.0724 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 21.54 on 132 degrees of freedom
## Multiple R-squared:  0.02425,    Adjusted R-squared:  0.01686 
## F-statistic:  3.28 on 1 and 132 DF,  p-value: 0.07239

2020

## 
## Call:
## lm(formula = excess_percentage ~ prop, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -28.035  -8.083  -1.273   6.355  40.711 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)    3.498      9.647   0.363    0.718
## prop         106.346     95.526   1.113    0.268
## 
## Residual standard error: 11.4 on 131 degrees of freedom
## Multiple R-squared:  0.009372,   Adjusted R-squared:  0.00181 
## F-statistic: 1.239 on 1 and 131 DF,  p-value: 0.2676

Proportion of child mortality

Child mortality was taken from the year before the pandamic

Child mortality is not significantly associated with excess mortality.

1890

## 
## Call:
## lm(formula = excess_percentage ~ prop_child_death, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -50.442 -11.618  -0.297  11.042  74.067 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)
## (Intercept)      -3.12143    4.67851  -0.667    0.506
## prop_child_death -0.03141    0.07013  -0.448    0.655
## 
## Residual standard error: 18.27 on 129 degrees of freedom
## Multiple R-squared:  0.001552,   Adjusted R-squared:  -0.006187 
## F-statistic: 0.2006 on 1 and 129 DF,  p-value: 0.655

1918

## 
## Call:
## lm(formula = excess_percentage ~ prop_child_death, data = data_excess)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -64.08 -18.69  -3.36  18.38 128.99 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)
## (Intercept)        8.7886     6.4810   1.356    0.177
## prop_child_death   0.2502     0.2558   0.978    0.330
## 
## Residual standard error: 29.21 on 132 degrees of freedom
## Multiple R-squared:  0.007195,   Adjusted R-squared:  -0.0003261 
## F-statistic: 0.9566 on 1 and 132 DF,  p-value: 0.3298

Tuberculosis

In Davos was a high tuberculosis mortality because Davos was a health resort for tuberculosis patients in the 19th century and at the beginning of the 20th century. Since these mortality numbers do not reflect the population and actual tuberculosis mortalities in Davos, Davos was excluded of the calculation.

With Davos

Without Davos

Tuberculosis mortalityiy is significantly associated with excess mortality in 1890, but not in 1918. This suggests that the 1918 pandemic had a greater impact on mortality than tuberculosis. Whereas in 1890 tuberculosis played a greater role.

1890

## 
## Call:
## lm(formula = excess_percentage ~ tbc_inc, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -43.545  -5.579  -0.783   5.653  42.181 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept)  -6.1313     2.9597  -2.072  0.04034 * 
## tbc_inc       0.4506     0.1471   3.063  0.00268 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 11.22 on 126 degrees of freedom
##   (6 Beobachtungen als fehlend gelöscht)
## Multiple R-squared:  0.0693, Adjusted R-squared:  0.06191 
## F-statistic: 9.382 on 1 and 126 DF,  p-value: 0.00268

1918

## 
## Call:
## lm(formula = excess_percentage ~ tbc_inc, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -50.225 -10.797  -3.598   7.369  79.456 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  47.2718     7.4665   6.331 3.91e-09 ***
## tbc_inc      -0.2041     0.5302  -0.385    0.701    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 21.78 on 126 degrees of freedom
##   (6 Beobachtungen als fehlend gelöscht)
## Multiple R-squared:  0.001175,   Adjusted R-squared:  -0.006752 
## F-statistic: 0.1482 on 1 and 126 DF,  p-value: 0.7009

Population density

Without the districts: City of Zurich, Basel-Stadt, Lausanne, Geneva

Regression analysis with all districts. Population density is not significantly associated with excess mortality. However, excess mortality is lower in all 3 pandemics the higher the population density. The reason for this could perhaps be the better medical care in larger cities? The greater proximity to the hospitals or medical office?

1890

## 
## Call:
## lm(formula = excess_percentage ~ densPop, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -44.353  -4.733   0.163   5.706  46.475 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)  
## (Intercept)  3.060088   1.193588   2.564   0.0115 *
## densPop     -0.004929   0.004838  -1.019   0.3102  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 11.54 on 127 degrees of freedom
##   (6 Beobachtungen als fehlend gelöscht)
## Multiple R-squared:  0.008106,   Adjusted R-squared:  0.0002961 
## F-statistic: 1.038 on 1 and 127 DF,  p-value: 0.3102

1918

## 
## Call:
## lm(formula = excess_percentage ~ densPop, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -50.630 -10.940  -3.596   7.903  78.273 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 45.412690   2.144808  21.173   <2e-16 ***
## densPop     -0.003407   0.005222  -0.652    0.515    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 21.96 on 127 degrees of freedom
##   (6 Beobachtungen als fehlend gelöscht)
## Multiple R-squared:  0.00334,    Adjusted R-squared:  -0.004508 
## F-statistic: 0.4256 on 1 and 127 DF,  p-value: 0.5153

2020

## 
## Call:
## lm(formula = excess_percentage ~ densPop, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -27.817  -7.190  -0.745   6.616  43.366 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 14.539604   1.152155   12.62   <2e-16 ***
## densPop     -0.001754   0.001499   -1.17    0.244    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 11.08 on 127 degrees of freedom
##   (6 Beobachtungen als fehlend gelöscht)
## Multiple R-squared:  0.01066,    Adjusted R-squared:  0.002874 
## F-statistic: 1.369 on 1 and 127 DF,  p-value: 0.2442

Urbanity

Ubanity is not significantly associated with excess mortality. However, the median excess mortality is lower in urban areas in all 3 pandemics.

1890

## 
## Call:
## lm(formula = excess_percentage ~ city_bezirk, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -43.596  -5.179   0.029   6.116  46.734 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)  
## (Intercept)     3.130      1.374   2.278   0.0243 *
## city_bezirk1   -1.333      1.973  -0.676   0.5002  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 11.41 on 132 degrees of freedom
## Multiple R-squared:  0.00345,    Adjusted R-squared:  -0.0041 
## F-statistic: 0.4569 on 1 and 132 DF,  p-value: 0.5002

1918

## 
## Call:
## lm(formula = excess_percentage ~ city_bezirk, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -52.831 -10.187  -3.082   8.870  76.039 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    47.571      2.598  18.312   <2e-16 ***
## city_bezirk1   -6.294      3.730  -1.687   0.0939 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 21.58 on 132 degrees of freedom
## Multiple R-squared:  0.02111,    Adjusted R-squared:  0.0137 
## F-statistic: 2.847 on 1 and 132 DF,  p-value: 0.09389

2020

## 
## Call:
## lm(formula = excess_percentage ~ city_bezirk, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -29.479  -7.139  -0.636   5.845  41.631 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    16.019      1.355  11.820   <2e-16 ***
## city_bezirk1   -3.745      1.946  -1.925   0.0564 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 11.26 on 132 degrees of freedom
## Multiple R-squared:  0.0273, Adjusted R-squared:  0.01993 
## F-statistic: 3.704 on 1 and 132 DF,  p-value: 0.05642

Train stattions

The number of train stations in the respective districts is not significantly associated with excess mortality.

1890

## 
## Call:
## lm(formula = excess_percentage ~ n_stat, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -44.139  -4.993   0.023   5.602  46.138 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)  2.31183    1.55666   1.485    0.140
## n_stat       0.02668    0.18750   0.142    0.887
## 
## Residual standard error: 11.43 on 132 degrees of freedom
## Multiple R-squared:  0.0001534,  Adjusted R-squared:  -0.007421 
## F-statistic: 0.02025 on 1 and 132 DF,  p-value: 0.8871

1918

## 
## Call:
## lm(formula = excess_percentage ~ n_stat, data = data_excess)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -50.933 -11.415  -3.243   7.645  78.477 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  45.6727     2.9674  15.392   <2e-16 ***
## n_stat       -0.1800     0.3574  -0.504    0.615    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 21.79 on 132 degrees of freedom
## Multiple R-squared:  0.001917,   Adjusted R-squared:  -0.005644 
## F-statistic: 0.2535 on 1 and 132 DF,  p-value: 0.6154